package com.masu.knows.portal.dto;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;

/**
 * @author 沈传尚
 * @date 2021/12/23
 */
@Data
public class RegisterDTO {
    // spring validation框架通过注解约束属性格式
    @NotBlank(message = "邀请码不能为空")
    private String inviteCode;

    @NotBlank(message = "手机号码不能为空")
    /*
     ^  匹配输入字符串开始的位置
     \d 匹配一个或多个数字，其中 \ 要转义，所以是 \\d
     $  匹配输入字符串结尾的位置
     .  匹配除换行符以外的任意字符
     \w 匹配字母或数字或下划线或汉字 等价于 '[^A-Za-z0-9_]'。
     */
    @Pattern(regexp = "^1\\d{10}$", message = "手机号格式不正确")
    private String phone;

    @NotBlank(message = "昵称不能为空")
    @Pattern(regexp = "^.{2,20}$",message = "昵称必须是2~20位字符")
    private String nickname;

    @NotBlank(message = "密码不能为空")
    @Pattern(regexp = "^\\w{6,20}$", message = "密码必须是6~20个数字,字母,_")
    private String password;

    @NotBlank(message = "确认密码不能为空")
    private String confirm;
}
